                         B  A  S  I  C  O  D  E             Blatt 1

     Leerzeichen werden entfernt, Ausnahme vor GOSUB, GOTO und THEN, sofern
     davor nicht ":" oder ")" steht.
     Eine  BASICODE-Zeile  darf (einschlielich Zeilennummer und Space) nur
     sechzig Zeichen enthalten.
     Jedes BASICODE-Programm beginnt in Zeile 1000. A (Byte) legt die Gre
     des  zu  reservierenden Stringraums fest, sollte nicht kleiner als 100
     sein.  Zeile 1000 enthlt ein "GOTO 20". Dort wird der Rechner initia-
     lisiert und ein Rcksprung zur Zeile 1010 veranlat.
     In Zeile 1010 beginnt die Abarbeitung des "eigentlichen" BASICODE-Pro-
     gramms.
     Das Programm endet mit "GOTO 950" - die Befehle RUN, END und STOP sind
     verboten.  Der  Rechner  wird wieder in den normalen BASIC-Zustand zu-
     rckversetzt.
     Ab Zeile 30000 stehen Erklrungen zum Programm, ab Zeile 32000 formale
     Fakten (Autor, Datum, Versionsnummer, verwendeter Rechner...) s.a.Bl.2
     
                      In BASICODE gltige BASIC - Befehle

     ABS     DATA    IF      LOG     PRINT   SGN     THEN    /       >=
     AND     DIM     INPUT   MID$    READ    SIN     TO      ^       <>
     ASC     EXP     INT     NEXT    REM     SQR     VAL     =
     ATN     FOR     LEFT$   NOT     RESTORE STEP    +       <
     CHR$    GOSUB   LEN     ON      RETURN  TAB     -       >
     COS     GOTO    LET     OR      RIGHT$  TAN     *       <=

                                Einschrnkungen:

     AND  darf  nur auf logische Ausdrcke (Vergleiche) bezogen werden, die
     geklammert  werden  sollten,  Zuweisungen von logischen Ergebnissen an
     eine Variable sind zulssig.
     ASC   liefert  nicht  bei  allen  Computern  in allen Fllen exakt den
     gleichen Wert, jedoch bei (Gro-)Buchstaben weitgehend erfllt, 
     CHR$ Vorsicht bei Werten < 32 (Steuerzeichen!). 
     DEF FN name nur in  der einfachen Form  mit einer Variablen anwendbar,
     nicht rekursiv anwendbar. 
     DIM vor Nutzung von Feldern erforderlich, maximal zwei Dimensionen zu-
     lssig, Zhlung beginnt beim nullten Element. 
     FOR ... TO ... STEP ... NEXT   Die  Schleife  wird  mindestens  einmal
     durchlaufen. Ohne STEP zahl ist die Schrittweite 1. Nach NEXT mu die
     zugehrige  Variable  stehen. Nur ein NEXT zulssig, Schleife darf nur
     an einer einzigen Stelle verlassen werden. Aus der Schleife darf nicht
     herausgesprungen  werden - vorzeitiges Verlassen durch Laufparameter =
     Endwert, Sprung zum NEXT. 
     GOSUB Zeilennummer darf keine Variable sein, Zeilennummer mu existie-
     ren. IF ... THEN GOSUB. 
     GOTO siehe GOSUB, Ausnahme 20 und 950. IF ... THEN zeilennummer. 
     INPUT nur fr eine Variable. 
     LOG hat Basis e, LN darf nicht verwendet werden. 
     MID$ erfordert drei oder zwei Werte. MID$(A$,5) ist erlaubt. 
     NEXT siehe FOR. 
     NOT siehe AND. 
     ON die Variable darf nur die zulssigen Werte annehmen, also von 1 bis
     zur Anzahl der nach GOTO bzw. GOSUB stehenden Adressen. 
     OR siehe AND. 
     PRINT Formatierung  nur mit ",", ":", und TAB. Empfehlung, "," und TAB
     durch GOSUB 110 zu ersetzen. Nicht durch "?" ersetzbar. 
     REM nicht durch "'" ersetzbar, kein ":" in REM-Zeile. 
     RESTORE nur ohne Zeilennummer. 
     TAB TAB(0) nicht erlaubt. Sicherer GOSUB 110. 
     VAL nimmt bei nicht rein numerischen Argumenten in verschiedenen Rech-
     nern unterschiedliche Werte an (vgl. ASC).

                         B  A  S  I  C  O  D  E             Blatt 2
      
                          BASICODE - GOSUB - Routinen 

      20  Programmstart, System-Reset, Variable lschen ...
     100  Text-Modus einschalten und Bildschirm lschen.
     110  Cursor auf die Position HO, VE.
     120  Cursor-Position in HO,VE zurckholen
     150  Aufflliges Anzeigen von SR$; rechts und links drei Spaces.
     200  Daten einer eventuell gedrckten Taste in IN$ und IN.
     210  wie 200, jedoch mit Warten auf Tastendruck.
     220  Holen des Zeichens aus Schirmposition HO, VE auf IN.
     250  Erzeugen eines kurzen Aufmerksamkeitstones.
     260  Zufallsvariable in RV mit 0 <= RV < 1.
     270  Ausfhren von garbage collection und Speicherplatz in FR.
     280  Aus- bzw. Einschalten der STOP/BRK - Taste FR = 0 bzw. 1.
     300  SR wird ohne Space in SR$ gewandelt.
     310  wie 300, jedoch als Zahl mit CT und CN formatiert.
     330  Alle Kleinbuchstaben in SR$ in Grobuchstaben wandeln.
     350  bergabe von SR$ an den Drucker.
     360  In neue Zeile mit Drucker (CRLF).
     400  Erzeugung eines Tons gem SV, SD und SP.
     450  Warten von maximal SD * 0,1 s auf einen Tastendruck.
     500  Erffnen eines Files mit dem Namen NF$ gem NF.
     540  Aus dem File wird ein String in IN$ bergeben.
     560  SR$ wird in das File geschrieben.
     580  Man schliee den Bestand mit Code NF ab.
     600  Graphischen Betrieb und Bildschirm lschen.
     620  Setzen eines Punktes in die Position HO, VE mit Farbe CN.
     630  Zeichnen einer Linie zum Punkt HO, VE in Farbe CN.
     650  SR$ an der Position HO, VE anzeigen (Grafik-Mode).
     950  Beenden des Basicode-Mode.
      
                        Zeilen-Verwendung beim BASICODE

         0 -   999  Bascoder (fr jeden Computer anders). 
              1000  Erste Zeile des BASICODE-Programms.
                    Sie mu folgende Form haben:
                    1000 A=<Wert>:GOTO 20:REM <Programmname> 
      1010 - 19999  Eigentliches BASICODE-Programm. 
     20000 - 24999  Subroutinen,  welche  unerlaubte Befehle verwenden. Sie
                    sollen  mglichst vermieden, zumindest aber in REM-Zei-
                    len genau erklrt werden (z.B. farbige Bilder, in BASI-
                    CODE-3 nicht mglich). 
     25000 - 29999  Eventuell bentigte DATA-Zeilen. 
     30000 - 31999  REM-Zeilen, z.B. kurze Programmbeschreibung, Literatur 
     32000 - 32767  REM-Zeilen  fr den Namen und die Anschrift des Autors,
                    Datum und andere formale Bemerkungen. 

      Zeilenlnge einschlielich Zeilennummer und Space maximal 60 Zeichen

                        In BASICODE verbotene Variablen 

     1. Alle Variablen, die mit dem Buchstaben O beginnen.
     2. AS, AT, DI, DI$, DS, DS$, EI, EI$, EL, ER, FN, GO, GR, IF, LN, SQ,
        SQ$, ST, TI, TI$, TO. 
     3. PI, enthlt aber nicht den Zahlenwert 3.14159. 

           Im Bascoder verwendete Variablen mit besonderer Bedeutung

                      A, CN, CT, FR, HG, HO, IN, IN$, NF,
                     NF$, RV, SD, SP, SR, SR$, SV, VE, VG. 

